# 题目描述：pid是子进程id； ppid是父进程id。 一个父进程可以有多个子进程；一个子进程只能有一个父进程。 输入一个需要杀死的进程号kill，需要把子进程以及后代进程都杀死。 返回需要杀死的进程列表。
pid = [1,3,10,5]
ppid = [3,0,5,3]
kill = 5
# 建立一个字典记录所有子进程
dic = {}
for i in range(len(ppid)): # { parentid: [child1,child2，，，] }
    if ppid[i] not in dic:
        dic[ppid[i]] = [pid[i]]
    else:
        dic[ppid[i]].append(pid[i])
def findsub(dic,kill): # 找到kill的所有子节点
    res = [kill] # 先把自己加入
    if kill not in dic:
        return res
    sub = dic[kill]
    # print(sub)
    for s in sub:
        newres = findsub(dic,s)
        res += newres
    return res
print(findsub(dic,kill))




